package cn.com.mixsmart.utils;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * List工具类
 * @author lmq
 * @version 1.0
 * @since 1.0
 * 2015年8月22日
 */
public class ListUtils {

	private ListUtils() {
		throw new UnsupportedOperationException("ListUtils类无法实例化"); 
	}
	
	/**
	 * 判断是否含有
	 * @param objs
	 * @param obj
	 * @return 包含返回：true；否则返回：false
	 */
	public static boolean isContain(Collection<String> objs,String obj) {
		boolean is = false;
		if(null != objs && objs.size()>0 && null != obj) {
			for (Object value : objs) {
				if(value.toString().equals(obj.toString())) {
					is = true;
					break;
				}
			}
		}
		return is;
	}
	
	/**
	 * 判断列表是否为空
	 * @param objs 列表对象
	 * @return　如果列表为空，返回：true；否则返回：false
	 */
	public static boolean isEmpty(Collection<?> objs) {
		return (null == objs || objs.isEmpty());
	}
	
	/**
	 * 空列表转化为：null <br />
	 * @param objs 列表对象
	 * @return　返回列表；如果列表为空则返回null
	 */
	public static <E> List<E> handleNull(List<E> objs) {
		return (isEmpty(objs)?null:objs);
	}
	
	/**
	 * 判断列表是否不为空
	 * @param objs 列表对象
	 * @return　如果列表不为空，返回：true；否则返回：false
	 */
	public static boolean isNotEmpty(Collection<?> objs) {
		return !isEmpty(objs);
	}
	
	/**
	 * 对象集合转换为字符串集合
	 * @param objs 列表对象
	 * @return 返回字符串集合
	 */
	public static List<String> toString(Collection<?> objs) {
		List<String> list = new ArrayList<String>();
		for (Object obj : objs) {
			list.add(obj.toString());
		}
		return list.size()>0?list:null;
	}
	
}
